package com.cx.utils;

import org.springframework.http.MediaType;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;

//常用工具类
public class CommonTools {

    public static String getMimeType(File file) throws IOException {
        String mimeType = Files.probeContentType(file.toPath());
        if (mimeType == null) {
            // 如果无法自动检测MIME类型，可以进行手动备选
            String fileName = file.getName().toLowerCase();
            if (fileName.endsWith(".webp")) {
                mimeType = "image/webp";
            } else if (fileName.endsWith(".png")) {
                mimeType = "image/png";
            } else if (fileName.endsWith(".jpg") || fileName.endsWith(".jpeg")) {
                mimeType = "image/jpeg";
            } else if (fileName.endsWith(".gif")) {
                mimeType = "image/gif";
            } else {
                // 默认使用通用的二进制流类型，适用于不能直接显示的文件类型
                mimeType = MediaType.APPLICATION_OCTET_STREAM_VALUE;
            }
        }
        return mimeType;
    }

}
